<?php

Class ResolutionCorrectionsController extends AppController {

    public $name = 'ResolutionCorrections';

    function edit($id) {
        $this->layout = 'ajax';
        $this->ResolutionCorrection->recursive = -1;
        if (empty($this->data)) {

            $this->data = $this->ResolutionCorrection->find('first', array('conditions' => array('ResolutionCorrection.id' => $id), 'fields' => array('ResolutionCorrection.id', 'ResolutionCorrection.observacion', 'ResolutionCorrection.archivo', 'ResolutionCorrection.numero', 'ResolutionCorrection.fecha', 'ResolutionCorrection.resolution_id', 'ResolutionCorrection.id')));
        } else {

            if ($this->ResolutionCorrection->save($this->data)) {
                $this->Session->setFlash('Registro editado correctamente', 'flash_custom');
                $this->redirect(array('controller' => 'ResolutionCorrections', 'action' => 'index', $this->data['ResolutionCorrection']['resolution_id']));
            } else {
                $this->Session->setFlash('Error editando datos');
            }
        }
    }

    function add($resolution_id) {
        $this->layout = 'ajax';
        $this->set('resolution_id', $resolution_id);
        if (empty($this->data)) {
            
        } else {

            if ($this->ResolutionCorrection->save($this->data)) {
                $lastId = $this->ResolutionCorrection->getLastInsertId();
                $proyecto = $this->ResolutionCorrection->Resolution->find('first', array('conditions' => array('Resolution.id' => $this->data['ResolutionCorrection']['resolution_id']), 'recursive' => -1, 'joins' => array(array('table' => 'proyects', 'alias' => 'Proyect', 'type' => 'left', 'conditions' => 'Proyect.id=Resolution.proyect_id')), 'fields' => array('Proyect.codigo')));
                $rutaArchivo = APP . "webroot" . "/" . "files" . "/" . $proyecto['Proyect']['codigo'];
                if (!is_dir($rutaArchivo)) {
                    if (!mkdir($rutaArchivo)) {
                        echo "error creando archivo";
                        //redirect
                    }
                }
                $rutaArchivo .= "/resoluciones_modificatorias";
                if (!is_dir($rutaArchivo)) {
                    if (!mkdir($rutaArchivo)) {
                        echo "error creando archivo";
                        //redirect
                    }
                }
                $nombreArchivo = "Modificatoria-" . $proyecto['Proyect']['codigo'] . "-$lastId.pdf";
                $rutaArchivo.="/$nombreArchivo";

                if (move_uploaded_file($this->data['ResolutionCorrection']['nombre_archivo']['tmp_name'], $rutaArchivo)) {
                    $guardar = array(
                        'ResolutionCorrection' => array(
                            'id' => $lastId,
                            'archivo' => $nombreArchivo
                        )
                    );

                    if ($this->ResolutionCorrection->save($guardar)) {
                        $this->Session->setFlash('Registro Adicionado correctamente', 'flash_custom');
                        $this->redirect(array('controller' => 'ResolutionCorrections', 'action' => 'index', $resolution_id));
                    }
                } else {
                    $this->Session->setFlash('Registro Adicionado correctamente (Hubo un error cargando archivo adjunto)', 'flash_custom');
                    $this->redirect(array('controller' => 'ResolutionCorrections', 'action' => 'index', $resolution_id));
                }
            } else {
                $this->Session->setFlash('Error Guardando datos');
            }
        }
    }

    function index($resolution_id) {
        $this->layout = 'ajax';
        $proyecto = $this->ResolutionCorrection->Resolution->find('first', array('conditions' => array('Resolution.id' => $resolution_id), 'recursive' => -1, 'joins' => array(array('table' => 'proyects', 'alias' => 'Proyect', 'type' => 'left', 'conditions' => 'Proyect.id=Resolution.proyect_id')), 'fields' => array('Proyect.codigo')));

        $this->set('resolution_id', $resolution_id);
        $this->set('codigo', $proyecto['Proyect']['codigo']);
        $this->paginate = array('ResolutionCorrection' => array('maxLimit' => 500, 'limit' => 50, 'fields' => array('ResolutionCorrection.id', 'ResolutionCorrection.observacion', 'ResolutionCorrection.numero', 'ResolutionCorrection.fecha', 'ResolutionCorrection.archivo'), 'order' => 'ResolutionCorrection.id DESC'));
        $this->set('ResolutionCorrections', $this->paginate(array('ResolutionCorrection.resolution_id' => $resolution_id)));
    }

    function delete($id, $resolution_id) {

        if ($this->ResolutionCorrection->delete($id)) {
            $this->Session->setFlash('Registro eliminado correctamente ', 'flash_custom');
            $this->redirect(array('controller' => 'ResolutionCorrections', 'action' => 'index', $resolution_id));
        }
    }

}

?>